package com.briup.jd2407cms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.briup.jd2407cms.domain.Category;
import com.baomidou.mybatisplus.extension.service.IService;
import com.briup.jd2407cms.domain.extend.CategoryExtend;

import java.util.List;

/**
 *
 */
public interface CategoryService extends IService<Category> {

    /**
     * 查询所有父栏目
     * @return java.util.List<com.briup.jd2407cms.domain.Category>
     */
    List<Category> getAllParent();


    /**
     * 新增栏目
     * @param category 栏目
     */
    void saveCategory(Category category);

    /**
     * 根据id查询单个栏目信息
     * @param id 栏目id
     * @return com.briup.jd2407cms.domain.Category
     */
    Category getByCategoryId(Integer id);

    /**
     * 修改栏目信息
     * @param category 栏目
     */
    void modifyCategory(Category category);


    IPage<Category> getByConditionByPage(Integer pageNum, Integer pageSize, Integer parentId);

    void removeCategoryById(Integer id);
    void removeCategoryBatch(List<Integer> ids);

    List<CategoryExtend> getAllWithChildren();

    /**
     * 将栏目批量导入数据库
     * @param categories
     */
    void insertBatch(List<Category> categories);

    /**
     * 获取所有栏目信息
     * @return
     */
    List<Category> getAll();

}
